﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BinarySearchTrees
{
    class Program
    {
        static void Main(string[] args)
        {
            BinarySearchTree bst = new BinarySearchTree();
            //bst.Root = bst.Insert(bst.Root, 23);
            //bst.Root = bst.Insert(bst.Root, 45);
            //bst.Root = bst.Insert(bst.Root, 16);
            //bst.Root = bst.Insert(bst.Root, 37);
            //bst.Root = bst.Insert(bst.Root, 3);
            //bst.Root = bst.Insert(bst.Root, 99);
            //bst.Root = bst.Insert(bst.Root, 22);
                     
            //bool result = bst.Find(bst.Root, 10);

            //bst.InOrder(bst.Root);
            //Console.WriteLine();

            //bst.PreOrder(bst.Root);
            //Console.WriteLine();

            //bst.PostOrder(bst.Root);
            //Console.WriteLine();

            //int min =  bst.FindMin(bst.Root);
            //int masx = bst.FindMax(bst.Root);

            //bst.InLevel(bst.Root);
            //bst.InLevelSpiral(bst.Root);
            //bst.PrintOutsideFramework(bst.Root);

            int[] input = new[] { 1, 2, 3, 4, 5, 6, 7 };
            bst.MinimalBST(input);
            bst.InLevel(bst.Root);
            Console.ReadLine();

        }
    }
}
